package com.tarena.lbs.marketing.web.service;

import com.tarena.lbs.base.protocol.pager.BasePageList;
import com.tarena.lbs.pojo.marketing.bo.UserReceiveCouponBO;
import com.tarena.lbs.pojo.marketing.param.UpdateParam;
import com.tarena.lbs.pojo.marketing.param.UserReceiveCouponParam;
import com.tarena.lbs.pojo.marketing.query.UserCouponCodeQuery;
import com.tarena.lbs.pojo.marketing.query.UserCouponQuery;
import java.util.List;

public interface UserReceiveCouponService {

    /**
     * 领取优惠券
     */
    void insert(UserReceiveCouponParam param);

    /**
     * 更新优惠券
     */
    void update(UserReceiveCouponParam param);

    /**
     * 更新优惠券状态
     */
    void updateStatus(UpdateParam updateParam);

    /**
     * 优惠券列表
     */
    BasePageList<UserReceiveCouponBO> userList(UserCouponQuery couponQuery);

    /**
     * 用户优惠券
     */
    List<UserReceiveCouponBO> userCouponList(Integer userId,Integer couponId);

    /**
     * 用户优惠券详情
     */
    UserReceiveCouponBO userCouponDetail(UserCouponCodeQuery query);

}
